package com.edt.ichannel.api.dao;

import com.edt.ichannel.api.entiy.local.OrderCreditKd;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * OrderCreditKd数据访问类
 *
 * @author 李爽
 * @date 2018-09-27
 */
public interface OrderCreditKdDao {


    /**
     * 添加单条宽带首充记录
     *
     * @param ordercreditkd ordercreditkd
     * @author 李爽
     * @date 2018-09-27
     */
    void saveOrderCreditKd(OrderCreditKd ordercreditkd);

    /**
     * 修改宽带首充记录
     *
     * @param ordercreditkd ordercreditkd
     * @return ActionResult
     * @author 李爽
     * @date 2018-09-27
     */
    void updateOrderCreditKd(OrderCreditKd ordercreditkd);

    /**
     * 批量添加宽带首充订单
     *
     * @param orderCreditsKd 手动订单集合
     * @author 李爽
     * @date 2018-09-27
     */
    void saveOrderCreditKdList(List<OrderCreditKd> orderCreditsKd);

    /**根据手机号和userid查询记录
     * @param phoneNumber, userId
     *             手机号,userid
     * @return com.edt.ichannel.api.entiy.local.OrderCreditKd
     *              查询接口，应该有一条或者为空
     * @author 孙梁
     * 2018/9/28 15:15
     */
    OrderCreditKd selectOrderCriditKdByPhoneAndUserId(@Param("phoneNumber") String phoneNumber, @Param("userId") String userId);

    /**
     * 将宽带表中首充大于0的数据存入ordercredit
     * @author 孙梁
     * 2018/9/29 10:27
     */
    void moveOrderCreditKdToOrderCredit();

    /**
     * 查询所有
     * @author 孙梁
     * 2018/9/29 13:17
     */
    List<OrderCreditKd> selectNeedPutOut();

    OrderCreditKd selectOrderCreditKdByOrderCode(String orderCode);

    void saveOrUpdateOrderCreditKd(OrderCreditKd orderCreditKd);

    void moveOrderCreditKdToOrderCreditByOrderCode(@Param("orderCode") String orderCode);

    void overFlowMonthCommission(@Param("id") String id);


    void addCommissionMoney(@Param("id") String id, @Param("commissionMoney") Double commissionMoney);

    void appendRemark(@Param("id") String id, @Param("s") String s);
}